<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class C_Documentacao extends MY_Controller {

	function __construct()
	{
		parent::__construct();
                $this->load->helper('html');
                $this->load->helper('url');
	}

	function index(){

           
	            
	}

        function cadastrarDocumento(){
            
            $security = explode(',', $this->session->userdata['acessoList']);
            
            if(in_array(Regra_Const::AtualizarAluno, $security)){
                
                $_POST['ufList'] = $this->em->createQuery('SELECT u FROM models\uf u');
                $this->load->view('documentacao/p_cadastro_documento',$_POST);
                
            } else {
                
                $this->load->view('menu/i_erro_acesso');
            }
           
            

        }
        
        function returnDocumentoCadastrado(){
            extract($_POST);
            
            $documetacaoList = $this->em->createQuery('SELECT d FROM models\documentacao d  WHERE d.alunoId = ?1');
            $documetacaoList->setParameter(1,$alunoId);
            
            /**Passa o objeto uf para a view*/
            $ufList = $this->em->createQuery('SELECT u FROM models\uf u');
            $data['ufList'] = $ufList;
            
            $data['documetacaoList'] = $documetacaoList;
            $data['alunoId'] = $alunoId;
 
            $this->load->view('documentacao/i_documentacao_cadastrada',$data);
        }
        
        function gravarDocumento(){
            
            extract($_POST);
      
            $tipoDocumento = explode("_", $tipoDoc);
            
            if($dataExp){
                $dtExp = explode('/', $dataExp);
                $dateE =  strtotime($dtExp[2].'-'.$dtExp[1].'-'.$dtExp[0]);
                $nDataExp = date('Y-m-d', $dateE);
            }
            
            $documentacao = new models\documentacao;

            $documentacao->setAlunoId($alunoId);
            $documentacao->setDocDescricao($descricaoDoc);
            $documentacao->setTipoDocCod($tipoDocumento[0]);
            
            if($tipoDocumento[1] == 1 || $tipoDocumento[1] == 2){
                
                $documentacao->setDataEmissao($nDataExp);
                $documentacao->setEmissor($expedidor);
                $documentacao->setUfCod($ufCod);
                
                if($tipoDocumento[1] == 1){
                    
                    $documentacao->setFolha($folha);
                    $documentacao->setLivro($livro);
                    $documentacao->setTermo($termo);
                    
                }
                
            }
            

            $this->em->persist($documentacao);
            $this->em->flush();
            
            echo TRUE;
        }
        
        function removerDocumento(){
            
            extract($_POST);
            
            $documento = $this->em->find('models\documentacao',$documentoId);
            
            //Abertura da transação
            $this->em->getConnection()->beginTransaction();
             try {
                $this->em->remove($documento);
                $this->em->flush();
                
             //Se não houver nenhuma exceção, é confirmada a gravação do objeto
                $this->em->getConnection()->commit();
                
                 echo TRUE;

             } catch ( Exception $e ) {
                 //Rollback na gravação e lançamento de exceção
                 $this->em->getConnection()->rollback();
                 $this->em->close();
                 throw $e ;
                 
                 echo 999;
            }
        }
        
        function gravarFoto(){
            
            print_r($_POST);die('xxxxx');
            
        }

}